home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -readerstuff- / steve_glover / source-code / app.h < prev    next >
C/C++ Source or Header  |  1999-04-21  |  9KB  |  207 lines

  1.  
  2.    /***********************************************************************
  3.    *                                                                      *
  4.    *                            COPYRIGHTS                                *
  5.    *                                                                      *
  6.    *   Copyright (c) 1990  Commodore-Amiga, Inc.  All Rights Reserved.    *
  7.    *   This file was modified by © Zinneberg-Soft.                        *
  8.    ***********************************************************************/
  9.  
  10. #ifndef APP_H
  11. #define APP_H
  12. #include <clib/all_protos.h>
  13. #include <intuition/gadgetclass.h>
  14. #include <cybergraphics/cybergraphics.h>
  15. #include <proto/cybergraphics.h>
  16. #include <string.h>
  17. #include <stdlib.h>
  18.  
  19. /**********************************************************************/
  20. /* Prototypes for functions declared in app.c and called from the     */
  21. /* standard modules.                                                  */
  22. /**********************************************************************/
  23. VOID SSET_DPMS_SUSPEND(VOID);
  24. VOID SSET_DPMS_OFF(VOID);
  25. VOID SSET_DPMS_STANDBY(VOID);
  26. VOID setupCustomGadgets(struct Gadget **);
  27. VOID HandleGadget(ULONG,ULONG);
  28. VOID setupCustomMenu(VOID);
  29. VOID handleCustomMenu(ULONG code);
  30. VOID refreshWindow(VOID);
  31. BOOL setupCustomCX(VOID);
  32. VOID shutdownCustomCX(VOID);
  33. VOID handleCustomCXMsg(ULONG);
  34. VOID handleCustomCXCommand(ULONG);
  35. VOID handleCustomSignal(VOID);
  36.  
  37. /**********************************************************************/
  38. /* Prototypes for functions declared in the standard modules and      */
  39. /* called by app.c                                                    */
  40. /**********************************************************************/
  41. VOID setupWindow(VOID);
  42. VOID shutdownWindow(VOID);
  43. VOID terminate(VOID);
  44.  
  45. /**********************************************************************/
  46. /* Prototypes for functions declared in application modules and       */
  47. /* called by app.c                                                    */
  48. /**********************************************************************/
  49. BOOL setupBlanker(void);
  50. VOID mysetupCustomGadgets(struct Gadget **gad);
  51. VOID myHandleGadget(ULONG gad,ULONG code);
  52. VOID MyHandleCustomSignal(VOID);
  53. VOID SHOWABOUT(VOID);
  54. VOID SHOWCONFIG(VOID);
  55.  
  56.  
  57. /* VOID SAVECONFIG(VOID); */
  58. /**********************************************************************/
  59. /* definitions for global variables declared in the standard modules  */
  60. /* referenced by app.c                                                */
  61. /**********************************************************************/
  62. extern CxObj                  *broker;
  63. extern SHORT                  topborder;
  64. extern VOID                   *vi;
  65. extern struct Menu            *menu;
  66. extern struct Library         *GadToolsBase;
  67. extern struct Gadget          *glist;
  68. extern char                   **ttypes;
  69. extern struct MsgPort         *cxport;
  70. extern struct IntuitionBase   *IntuitionBase;
  71. extern struct DrawInfo        *mydi;
  72. extern ULONG                  csigflag;
  73. extern struct Task            *maintask;
  74. extern BOOL                   IDCMPRefresh;
  75. extern struct EasyStruct aboutcybereasy;
  76. extern struct EasyStruct progconfig;
  77. /* extern struct EasyStruct saveconfig; */
  78.  
  79. /**********************************************************************/
  80. /* definitions for global variables declared in app.c and             */
  81. /* referenced by the standard modules.                                */
  82. /**********************************************************************/
  83. /* extern struct TextAttr mydesiredfont;  */
  84.  
  85. /**********************************************************************/
  86. /* Commodities specific definitions.                                  */
  87. /*                                                                    */
  88. /* COM_NAME  - used for the scrolling display in the Exchange program */
  89. /* COM_TITLE - used for the window title bar and the long description */
  90. /*             in the Exchange program                                */
  91. /* COM_DESC  - Commodity description used by the Exchange program     */
  92. /* CX_DEFAULT_PRIORITY - default priority for this commodities broker */
  93. /*                       can be overidden by using icon TOOL TYPES    */
  94. /**********************************************************************/
  95. #define COM_NAME  "CyberBlanker "
  96. #define COM_TITLE "CyberBlanker"  /* goes in window */
  97. #define COM_DESCR "©97 Zinneberg-Soft"
  98. #define CX_DEFAULT_PRIORITY 0
  99. #define CX_DEFAULT_POP_KEY ("shift f1")
  100. #define CX_DEFAULT_POP_ON_START ("YES")
  101.  
  102. /**********************************************************************/
  103. /* Custom Signal control                                              */
  104. /*                                                                    */
  105. /* If CSIGNAL = 0 then this commodity will NOT have a custom signal   */
  106. /* If CSIGNAL = 1 this commodity will support a custom signal         */
  107. /**********************************************************************/
  108. #define CSIGNAL 1
  109.  
  110. /**********************************************************************/
  111. /* Window control                                                     */
  112. /*                                                                    */
  113. /* If WINDOW = 0 then this commodity will NOT have a popup window     */
  114. /* If WINDOW = 1 this commodity will support a popup window with the  */
  115. /*               attributes defined below.                            */
  116. /**********************************************************************/
  117. #define WINDOW 1
  118. #if WINDOW
  119. #define W(x) x
  120. #else
  121. #define W(x) ;
  122. #endif
  123.  
  124. #if WINDOW
  125.  
  126. extern struct Window   *window;
  127. extern struct TextFont *font;
  128.  
  129. #define WINDOW_LEFT   134
  130. #define WINDOW_TOP    64
  131. #define WINDOW_WIDTH  250
  132. #define WINDOW_HEIGHT 80
  133. #define WINDOW_INNERHEIGHT 100
  134.  
  135. #define WINDOW_SIZING 0
  136. #if WINDOW_SIZING
  137. #define WINDOW_MAX_WIDTH  -1
  138. #define WINDOW_MIN_WIDTH  150
  139. #define WINDOW_MAX_HEIGHT -1
  140. #define WINDOW_MIN_HEIGHT 130
  141. #define WFLAGS (ACTIVATE | WINDOWCLOSE | WINDOWDRAG | WINDOWSIZING | WINDOWDEPTH | SIMPLE_REFRESH )
  142. #else
  143. #define WINDOW_MAX_WIDTH  WINDOW_WIDTH
  144. #define WINDOW_MIN_WIDTH  WINDOW_WIDTH
  145. #define WINDOW_MAX_HEIGHT WINDOW_HEIGHT
  146. #define WINDOW_MIN_HEIGHT WINDOW_HEIGHT
  147. #define WFLAGS (ACTIVATE | WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | SIMPLE_REFRESH )
  148. #endif  /* WINDOW_SIZING */
  149.  
  150. #define IFLAGS (MENUPICK | MOUSEBUTTONS | GADGETUP | GADGETDOWN | MOUSEMOVE | CLOSEWINDOW | REFRESHWINDOW )
  151.  
  152.                                      /* hotkey definitions  */
  153. #define POP_KEY_ID     (86L)         /* pop up identifier   */
  154.  
  155. /**********************************************************************/
  156. /* Gadget control                                                     */
  157. /*                                                                    */
  158. /* Here are the gadget specific definitions. Note that these are      */
  159. /* included only if WINDOW=1 since gadgets make no sense without a    */
  160. /* window.                                                            */
  161. /**********************************************************************/
  162. #define GAD_HIDE     1
  163. #define GAD_DIE      2
  164. #define GAD_SECS     3
  165. #define GAD_DPMS_STANDBY   4
  166. #define GAD_DPMS_SUSPEND   5
  167. #define GAD_DPMS_OFF       6
  168. #define GAD_CYCLE       7
  169. /**********************************************************************/
  170. /* Menu control                                                       */
  171. /*                                                                    */
  172. /* Here are the menu specific definitions. Note that these are        */
  173. /* included only if WINDOW=1 since menus make no sense without a      */
  174. /* window.                                                            */
  175. /**********************************************************************/
  176. #define MENU_HIDE     1
  177. #define MENU_DIE      2
  178. #define SHOW_ABOUT    3
  179. #define SHOW_V        4
  180. #define SHOW_H        5
  181. #define SHOW_V_H      6
  182. #define CONFIG        7
  183. #define SAVE_CONFIG   8
  184. #endif  /* WINDOW */
  185.  
  186. /**********************************************************************/
  187. /* Debug control                                                      */
  188. /*                                                                    */
  189. /* The first define converts any printfs that got in by mistake into  */
  190. /* kprintfs. If you are debuging to the console you can change        */
  191. /* kprintfs into printfs.                                             */
  192. /* The D1(x) define controls debugging in the standard modules. Use   */
  193. /* The D(x) macro for debugging in the app.c module.                  */
  194. /**********************************************************************/
  195. void kprintf(char *,...);
  196. #define printf kprintf
  197.  
  198. #ifdef DEBUG
  199. #define D1(x) x
  200. #define D(x)  x
  201. #else
  202. #define D1(x) ;
  203. #define D(x)  ;
  204. #endif /* NO DEBUG */
  205.  
  206. #endif /* APP_H */
  207.